home *** CD-ROM | disk | FTP | other *** search
/ Macworld Expo - Develope…Central & Net Innovations / Developer Central and Net Innovators (MacWorld Expo) (January 1999).iso / Developer Central / Bowers Development / Demo AppMaker / Examples / plain C OS8 / Temperature / AboutDialog.c next >
Encoding:
C/C++ Source or Header  |  1998-10-29  |  2.0 KB  |  118 lines  |  [TEXT/CWIE]

  1. /* AboutDialog.c -- Modal dialog */
  2.  
  3. #include <Types.h>
  4. #include <Quickdraw.h>
  5. #include <Controls.h>
  6. #include <Dialogs.h>
  7. #include <Events.h>
  8. #include <Lists.h>
  9. #include <Menus.h>
  10. #include <TextEdit.h>
  11. #include <Appearance.h>
  12. #include <stdlib.h>
  13.  
  14. #include "ResourceDefs.h"
  15. #include "Miscellany.h"
  16. #include "ControlUtils.h"
  17.  
  18. #include "Dispatcher.h"
  19. #include "AboutDialog.h"
  20.  
  21. #define kOKButton        1
  22. #define kAboutLabel        2
  23.  
  24.  
  25. /*----------*/
  26. Boolean        GetAboutDialog ()
  27. {
  28.     Boolean            result = false;
  29.     AboutDialog*        dialog = NewAboutDialog ();
  30.  
  31.     result = AMDialog_RunModal ((AMDialog*)dialog, DLOG_AboutDialog, nil);
  32.  
  33.     DeleteAboutDialog (dialog);
  34.  
  35.     return result;
  36. }
  37.  
  38. //----------
  39. AboutDialog*        NewAboutDialog ()
  40. {
  41.     AboutDialog*        dialog;
  42.  
  43.     dialog = (AboutDialog*)malloc (sizeof (AboutDialog));
  44.     AboutDialog_Init (dialog);
  45.     SetClassID (dialog, classAboutDialog);
  46.  
  47.     return dialog;
  48. }
  49.  
  50. //----------
  51. void    DeleteAboutDialog (
  52.     AboutDialog*        dialog)
  53. {
  54.     AboutDialog_Free (dialog);
  55.     free (dialog);
  56. }
  57.  
  58. //----------
  59. void    AboutDialog_Init (
  60.     AboutDialog*        self)
  61. {
  62.     AMDialog_Init ((AMDialog*)self);
  63. }
  64.  
  65. //----------
  66. void    AboutDialog_Free (
  67.     AboutDialog*        self)
  68. {
  69.     AMDialog_Free ((AMDialog*)self);
  70. }
  71.  
  72. //----------
  73. void    AboutDialog_FinishMake (
  74.     AboutDialog*        self)
  75. {
  76.     self->mOKHandle = AMDialog_GetControlItem ((AMDialog*)self, kOKButton);
  77.     SetDefaultState (self->mOKHandle, true);
  78.     SetDialogDefaultItem (((AMDialog*)self)->mDialog, kOKButton);
  79. }
  80.  
  81. //----------
  82. void    AboutDialog_ConnectToData (
  83.     AboutDialog*        self,
  84.     AMSignaler*        inData)
  85. {
  86.     AMDialog_ConnectToData ((AMDialog*)self, inData);
  87.  
  88. }
  89.  
  90. //----------
  91. void    AboutDialog_DoItem (
  92.     AboutDialog*        self,
  93.     SInt16        inItemHit)
  94. {
  95.     switch (inItemHit) {
  96.     case kOKButton:
  97.             AMDialog_SetResult ((AMDialog*)self, true);
  98.         break;
  99.  
  100.     } // switch
  101. }
  102.  
  103. //----------
  104. void    AboutDialog_DataChanged (
  105.     AboutDialog*        self,
  106.     long        inDataID)
  107. {
  108. }
  109.  
  110. //----------
  111. Boolean        AboutDialog_Filter (
  112.     AboutDialog*            self,
  113.     EventRecord            *ioEvent,
  114.     DialogItemIndex        *outItemHit)
  115. {
  116.     return AMDialog_Filter ((AMDialog*)self, ioEvent, outItemHit);
  117. }
  118.